package com.wry.sharding.dao;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单管理系统-订单处理-货品详情(OmsOrderGoodsItem)表实体类
 *
 * @author <a href="mailto::aijiangyoubuaicu@dingtalk.com">梁业锦</a>
 * @version 1.0.0
 * @since 2020-11-10 14:20:37
 */
@Data
@TableName(value = "oms_order_goods_item")
public class OmsOrderGoodsItem implements Serializable {

    private static final long serialVersionUID = 578987169952314486L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 原始单号
     */
    private String originalOrderNumber;

    /**
     * 原始子订单
     */
    @TableField(value = "original_sub_order_number")
    private String originalSubOrderNumber;

    /**
     * 货品ID
     */
    private Integer goodsId;

    /**
     * 订单编号
     */
    @TableField(value = "order_number")
    private String orderNumber;

    /**
     * 货品平台id
     */
    @TableField(value = "goods_platform_id")
    private String goodsPlatformId;

    /**
     * 货品条形码
     */
    @TableField(value = "goods_bar_code")
    private String goodsBarCode;

    /**
     * 慕可代码
     */
    @TableField(value = "goods_mk_code")
    private String goodsMkCode;

    /**
     * 货品代码
     */
    @TableField(value = "goods_number")
    private String goodsNumber;

    /**
     * 货品编码
     */
    @TableField(value = "goods_item_code")
    private String goodsItemCode;

    /**
     * 货品名称
     */
    @TableField(value = "goods_name")
    private String goodsName;

    /**
     * 货品图片url
     */
    @TableField(value = "pic_path")
    private String picPath;

    /**
     * 货品状态
     */
    @TableField(value = "goods_status")
    private String goodsStatus;

    /**
     * 货品库存量
     */
    @TableField(value = "goods_sku")
    private Integer goodsSku;

    /**
     * 货品规格
     */
    @TableField(value = "goods_specification")
    private String goodsSpecification;

    /**
     * 货品数量
     */
    @TableField(value = "goods_quantity")
    private Integer goodsQuantity;

    /**
     * 货品单位
     */
    @TableField(value = "goods_unit")
    private String goodsUnit;

    /**
     * 货品单价
     */
    @TableField(value = "goods_price")
    private BigDecimal goodsPrice;

    /**
     * 货品合计
     */
    @TableField(value = "goods_total_price")
    private BigDecimal goodsTotalPrice;

    /**
     * 货品备注
     */
    @TableField(value = "goods_remark")
    private String goodsRemark;

    /**
     * 货品批次号
     */
    @TableField(value = "goods_batch_number")
    private String goodsBatchNumber;

    /**
     * 货品批次数量
     */
    @TableField(value = "goods_batch_quantity")
    private Integer goodsBatchQuantity;

    /**
     * 货品生产日期
     */
    @TableField(value = "goods_production_date")
    private LocalDateTime goodsProductionDate;

    /**
     * 货品过期日期
     */
    @TableField(value = "goods_expired_date")
    private LocalDateTime goodsExpiredDate;

    /**
     * 退货状态
     */
    @TableField(value = "refund_status")
    private Integer refundStatus;

    /**
     * 净含量
     */
    @TableField(value = "net_content")
    private BigDecimal netContent;

    /**
     * 净含量单位
     */
    @TableField(value = "net_content_unit")
    private String netContentUnit;

    /**
     * 单个货品优惠金额
     */
    @TableField(value = "goods_discount_price")
    private BigDecimal goodsDiscountPrice;

    /**
     * 单个货品支付
     */
    @TableField(value = "goods_pay_money")
    private BigDecimal goodsPayMoney;

    /**
     * 优惠分摊金额
     */
    @TableField(value = "goods_part_mjz_discount")
    private BigDecimal goodsPartMjzDiscount;

    /**
     * 货品优惠金额合计
     */
    @TableField(value = "goods_discount_total_price")
    private BigDecimal goodsDiscountTotalPrice;

    /**
     * 货品支付金额合计
     */
    @TableField(value = "goods_pay_total_money")
    private BigDecimal goodsPayTotalMoney;

    /**
     * 优惠分摊金额合计
     */
    @TableField(value = "goods_part_mjz_total_discount")
    private BigDecimal goodsPartMjzTotalDiscount;
    /**
     * 是否赠品
     */
    @TableField(value = "is_gift")
    private Integer isGift;

    /**
     * 重量
     */
    @TableField(value = "weight")
    private BigDecimal weight;

    /**
     * 创建时间
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField(value = "updated_at", fill = FieldFill.UPDATE)
    private LocalDateTime updatedAt;

    /**
     * 是否已删除
     */
    @TableLogic
    @TableField(value = "deleted_at")
    private LocalDateTime deletedAt;

    /**
     * 货品退款标识
     */
    @TableField(value = "refund_tag")
    private String refundTag;

    /**
     * 支付时间
     */
    @TableField(value = "pay_time")
    private LocalDateTime payTime;
}
